package com.bookmanagement.service;

import com.bookmanagement.DTO.PasswordUpdateDTO;
import com.bookmanagement.DTO.UserAccountDTO;
import com.bookmanagement.DTO.UserUpdateDTO;
import com.bookmanagement.VO.AdminUserVO;
import com.bookmanagement.VO.UserVO;
import com.bookmanagement.entity.User;

import java.util.List;

/**
 * @author skyjay
 */
public interface UserService {
    User login(UserAccountDTO userAccountDTO);

    void register(UserAccountDTO userAccountDTO);

    UserVO getInfo();

    void updateUserInfo(UserUpdateDTO userUpdateDTO);

    void updatePassword(PasswordUpdateDTO passwordUpdateDTO);

    // 管理端：切换用户状态（禁用/启用）
    void toggleUserStatus(Integer userId);

    // 管理端：重置用户密码为123456
    void resetUserPassword(Integer userId);

    // 管理端：获取所有用户
    List<AdminUserVO> getAllUsers();

}
